#ifndef RT_ESFERA
#define RT_ESFERA
#include "object.h"
#include "intersect.h"

class Esfera: public Object {
	public:
	double raio;
	/**
	* Seta o raio da esfera
	*/
	Esfera(Color *cor,Vector *posicao,double kAmbiente,double kDifusa, double kEspecular,int nShing,double raio);
	/**
	* Deve retornar o vetor normal caso o raio passado toque a esfera,
	* caso contrário deve retornar null
	*/
	Esfera(Vector *posicao, double raio);
	
	~Esfera();

	Vector* vetorNormal(Ray *raio);

	bool testarColisao(Ray *raio);
	/* retorna um objeto Intersect caso o raio intersect o objeto
	* caso contrario retorna NULL
	*/
	Intersect* intersecsao(Ray *raio);

};

#include "esfera.cpp"
#endif
